/* SDLSurface.h
 *
 * --
 * Copyright (c) 2012, Christophe Huriaux
 * Distributed under the terms of the MIT license.
 * http://www.opensource.org/licenses/mit-license.php
 * --
 */

#include <SDL/SDL.h>

#ifndef SDLSURFACE_H_
#define SDLSURFACE_H_

class SDLSurface
{
	SDL_Surface* surface;

public:
	SDLSurface();
	SDLSurface(SDL_Surface* s);
	SDLSurface(SDLSurface& s);
	~SDLSurface();

	unsigned int getWidth();
	unsigned int getHeight();
	const void* rawData();

	bool isInitialized();
	SDLSurface& convertToRGBA8();
	SDLSurface& flip();

	static SDL_Surface* loadFromFile(const char* filename);
};
#endif /* SDLSURFACE_H_ */
